THE MAILER DEAMON ! =================== Who does not know the following problem: You have a real nice batched SMTP (BSMTP) mailbox with the possibility to have multiple e-mail addresses. Well, you say.. that's great! (I said so myself). So, you installed the InetUtils V4 (with SMTPPost, SMTPD etc) and was very happy with it. You tested some e-mail addresses and decided to check some fake e-mail address which did not exist on your beloved Amiga. Humtie-dum, starting pine, C(ompose), tralala, To: myfakeadres@myinternetsite.computer.com, writing some bla-bla text and press X to send the whole bunch to your Amiga. Well, that's coming back, cause no myfakeadres exist.. or..??? Indeed, SMTPD did it's work, SMTPPost did her work too, and delivered the whole bunch of e-mail in UUMAIL: as user: myfakeadres. Well, I did not configure that user in Amitcp, so how did it come there... Horrible nightmares of unlimited emails to unlimited users came at night. In the morning I decided to install the MultiUser Filesystem (MuFS) along with a beautiful program: Maildeliver. I printed out the manual, read something about patching the FastFileSystem in the L: directory, so I started up a shell, typed dir L: to look for the FFS and .... nothing... So, no patching since the whole thing resides obviously in ROM :((. I could not find it anywhere on my disks or CD-ROMS, so, no MuFS for me. Well, I still had very bad dreams at night, I saw my harddisk filled with lots and lots and lots of e-mails to lots and lots of users ...., and therefore only one solution was left: writing my own MAILER-DEAMON to stop having severe sleeping problems. And the little program called MAILER-DEAMON is the result. What do you need? (or: requirements) ==================================== - Batched SMTP (contact your provider!) - SMTPD (from the InetUtils v4) - SMTPPost (from the InetUtils v4) - RSMTPPost (just copy SMTPPost to RSMTPpost) - StartSMTPD script (from the InetUtils v4) - AmiTCP 4.x How to install ============== 1) Put the MAILER-DEAMON in Amitcp:bin/ 2) put SMTPPost from the INetUtils1.4 in Amitcp:bin/ 3) copy SMTPPost to RSMTPPost 4) load the StartSMTPd script in your favourite texteditor, you should see this: SetEnv SMTPMailDir INet:Mail/ SetEnv SMTPSpoolDir INet:MailSpool/ SetEnv SMTPSmarterHost dummy SetEnv SMTPRMail SMTPpost -r SetEnv SMTPRoute mx,smarterhost,smtp,uucp run <>nil: SMTPd 5) Change the dummy into your providers SMTP mail host, mostly something like mail.provider.com. 6) Change the SMTPpost -r into: MAILER-DEAMON 7) Save it somewhere in your path. Make sure that the S bit is set. 8) Add some assigns in your s:user-startup, so load it in your texteditor: Assign UULIB: usr:lib (or wherever you want to store it) Assign UUNEWS: usr:news (idem) Assign UUMAIL: usr:mail (idem) Assign UUSPOOL: usr:spool (idem) SetEnv SENDMAIL amitcp:bin/MAILER-DEAMON SetEnv NODENAME SetEnv DOMAINNAME SetEnv HOST SetEnv HOSTNAME setenv EDITOR ced -keepio setenv MAILEDITOR $EDITOR If you want news, you have to make the proper assigns here too. 9) Configure your mailer. You can use the MAILER-DEAMON without SMTPD, it checks your local mail adresses and does know if an e-mail address have to be spooled for sending it later when you are online. Your mailer needs to support the SMTPPost program. So, change everything that points to SMTPPost to MAILER-DEAMON. (but this is not nessecary to do, it's just an option if you want to check your local mail too. 10) Configure some new users in AmiTCP. 11) Add some aliases in the UULIB:aliases file like: albertv: postmaster, pietjepuk pietjepuk: root uucp: jantje etc, etc. 12) Startup your internet connection 13) type 'startsmtpd' in a shell 14) send some mail from another host to yourself 15) wait and see.... If all things are ok, the MAILER-DEAMON should run fine now. It checks if a user is valid by looking in the Amitcp:db/passwd file, if nothing is found there it checks the UULIB:aliases, if nothing is there it checks the INET:db/aliases file. If the MAILER-DEAMON finds a user, it invokes the rsmtppost program to actually deliver the mail (why should I invent the wheel twice?). If it does not find a user in any of these files, it sends immediately a message back to the sender with the message: User unknown. The same procedure is followed when you are offline. It checks if a user exist on your localhost and send it accordingly (or send it back to you if the user does not exist). If a message arrives for the internet the MAILER-DEAMON starts Smtppost with the -Q argument. BUGS ==== I did not test it with a news configuration, so be careful when using news. If you find any bugs send it to: mailer-bugs@spinnewiel.xs4all.nl This is a really quick hack, so expect that some bugs will show up, although it runs fine with me, but you never know with configurations other than mine. The MAILER-DEAMON does not check the cc: and bcc: fields yet. But if the need is there to implement that, I will. VERSION ------- V1.0 THANKS TO ========= - Wouter van Oortmerssen for his superb E-language DISTRIBUTION ============ This software is freely distributable. The distribution is permitted under the following conditions: - All associated files included with the distribution archive are to remain intact and unaltered. - The distribution over BBS's, Internet, software libraries like the ones from Fred Fish or Aminet CD-ROM's and similar electronic channels is granted. - disc-magazines, service providers and all other publishers who want to include the YUAdmin program on their disks, CD-ROMS or other media, need to have my permission in case of a commercial distribution. - Commercial use of the MAILER-DEAMON is forbidden unless permission is granted by A.Vortman. Contact me at: mailer-info@spinnewiel.xs4all.nl DISCLAIMER ========== This software is provided as-is, without warranty of any kind, either expressed or implied. In no event will the author be liable for direct, indirect, incidental or consequential damages or data loss resulting from the use or application of this software. The entire risk as to the results and performance of this software is assumed by the user. FUTURE ====== I'll wait and see if things are wanted. If I find the time I will implement your idea's. LAST WORDS ========== Well, I really hope that the Amiga will have better multiuser support in the future along with a decent crontab (-e ;), task management etc. I have seen some Windows NT servers and I really think that the Amiga can do better... much better. To help things a little I will put some effort in porting programs to the amiga. One of the projects that is running now is the Apache Server project (http://www.dsdelft.nl/~apache). Apache is ported by Jeff Shepherd (who made contributions to ixemul and compiled pine, pico, imapd, ipopd etc). It's a great server with professional capabilties. Imagine what you can do with the help of sh and rexx... So... Watch out for more thing to happen! Or better.... join! and for now: Enjoy the MAILER-DEAMON! Bert.